package com.sourceQ.system.vo.sms;

import cn.hutool.core.util.ReUtil;
import com.sourceQ.common.core.utils.StringUtils;
import lombok.Data;

import java.io.Serializable;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;

/**
 * @author: SourceQ
 * @create: 2024-05-13 11:27
 * @Description:
 */
@Data
public class SmsTemplateVo implements Serializable {

    private Long id;

    /**
     * 短信签名
     */
    private String type;

    /**
     * 开启状态
     */
    private String status;

    /**
     * 模板编码
     */
    private String code;

    /**
     * 模板名称
     */
    private String name;

    /**
     * 模板内容
     */
    private String content;

    /**
     * 参数数组
     */
    private String params;


    private List<String> paramList;

    public List<String> getParamList() {
        if (StringUtils.isEmpty(getParams())){
            return Collections.emptyList();
        }
        // 使用正则表达式匹配字符串中的单词
        Pattern pattern = Pattern.compile("\"(\\w+)\"");
        // 使用 Lambda 表达式将匹配的单词转换为列表
        return ReUtil.findAllGroup1(pattern, getParams());
    }

    /**
     * 备注
     */
    private String remark;

    /**
     * 短信 API 的模板编号
     */
    private String apiTemplateId;

    /**
     * 短信渠道编号
     */
    private Long channelId;

    /**
     * 短信渠道编码
     */
    private String channelCode;
}
